Memory protection is a way to control memory access rights within a computer system, and is a part of most modern operating systems. Conventionally, an operating system (OS) uses process IDs (PIDs) to secure locations of memory for a particular process, limiting read and write to those locations of memory to the process with that specific PID. This conventional approach to memory protection is usually secure as most application code will run in user mode and be unable to alter the PIDs of the processes being executed. However, in certain applications a core may run with some or all of its code within supervisor mode, providing an opportunity for the PID of a process to be altered and thus leave areas of memory vulnerable to unknown processes. Furthermore, errant software in a fault condition could feasibly update the PID if operating in supervisor mode.
For devices used within security and safety focused applications, such as automotive, industrial and aerospace applications, the highest level of security and safety is required. For such security/safety focused applications such vulnerability in conventional memory protection is undesirable.